/**
 * javascript AMD --
 * @description 主要管理模块
 * 		-------------菜单管理
 * @author cnbi<zhh>
 * @time 2014/5/5
 * @version 1.0
 */
 define(['apps/utils/tools','apps/manage'],function(tools,manage){
 	
 	  function success(data){
 	  	 $("#content").empty().append(data);
 	  	 //body 出现滚动条
 	  	  $("body").css({'overflow':'auto'});
 	  	 //msg 设置 消息提示
 	  	 var msgBean = Utils.paramObj.msgBean;
 	  	 if(msgBean.flag){
 	  	 	$.Zebra_Dialog('菜单<code>'+msgBean.text+'</code>修改操作完成',{'auto_close':2000,'type':false,'buttons':false});
 	  	 	init(Utils.paramObj);
 	  	 }
 	  };
 	
	  function init (param) {
	  	
	  	//事件绑定
		 btnBind(param["obj"]);
	  };
	  
	  //事件绑定
	  function btnBind(bean){
	  	  //表格单击行事件
	  	  tableSingleClick();
	  	  //菜单项修改 显示模态框
	  	  menuModal();
	  	  //菜单修改事件
	  	  updateMenu(bean);
	  };
	  
	  //菜单修改事件
	  function updateMenu(bean){
	  	var $saveBtn = $('#saveMenu');
	  	$saveBtn.bind('click',function(){
	  		var url = tools.getBasePathUrl() + bean.scode+"/updateMenu.cnbi";
	  		operatorMenu('#menuForm',url,bean,'#isleaf','#level',$saveBtn);
	  	});
	  };
	  
	  //form 表单操作
	  function operatorMenu(formDom,url,bean,leafDom,levelDom,$saveBtn){
  		//表单验证
		  $(formDom).validation();
		    // 2.最后要调用 valid()方法
		  if ($(formDom).valid()==false){
		    //$("#error-text").text("用户信息填写有误!");
		  	  $saveBtn.removeAttr('data-dismiss');
		      return false;
		  }else{
		  	
		  	 /**Jquery 扩展 表单序列化表单转为json 对象 serialize**/
			 var obj = $(formDom).serializeJson();
			 var scode  = $('#menuForm input[name=scode]')[0].value;
			 //Menu 扩展属性
			 obj.property1 = scode;
			 obj.property2 = obj.sname;
			 //属性拷贝
			 tools.applyIf(obj,bean);
			 tools.ajax({url : url,dataType : 'html',data : obj,
				  		success :success});
			 $saveBtn.attr({'data-dismiss':'modal'});
		   }
	  };
	  
	  //菜单项修改 显示模态框
	  function menuModal(){
	  	var $upMenu = $('#doEdit');
	  	$upMenu.bind('click',function(){
	  		//是否单击选中一行记录
	  		var boo = $('tbody >tr').hasClass('activeReport');
	  		if(!boo){
	  			$.Zebra_Dialog('<span>请单击选择需要修改的一行记录</span> ',{'type':false});
	  		}else{
	  			showModal($upMenu);
	  			var checked = $('.activeReport')[0].attributes;
		  		$('#menuForm input[name=scode]')[0].value = checked.scode.value;
		  		$('#menuForm input[name=sname]')[0].value = checked.sname.value;
		  		$('#menuForm textarea[name=note]')[0].value = checked.note.value;
	  		}
	  	});
	  };
	  
	  //模态框显示  bootstrap data-toggle="modal"
	  function showModal($dom){
	  	$dom.attr({'data-toggle':'modal'});
	  };
	  
	  
	  //单击表格一行
	  function tableSingleClick(){
	  		 //表格 
		  $('tbody >tr').bind('click',function(){
		  	 tools.applyTableSingleSelectClickStyle(this);
		  });
	  };
	  
	 /**
	 * 检测对象是否是空对象(不包含任何可读属性)。
	 */
	function isEmpty(obj){
	    for (var name in obj){
	        return false;
	    }
	    return true;
	};
	
	  return {
	    init: init
	  };
});  